iT邦幫忙

2023 iThome 鐵人賽

DAY 3
0

昨天了解了 App、Scene、View 這三個 Protocol,今天來了解一下 modifier。

modifier

所謂 modifier 也可稱為修飾器,是用來對 View 進行修飾用的,能夠調整 View 的功能、顯示等,而且,大部分的 modifier 都是寫在 View 的 Extension 裡的。

如果不清楚有哪些 modifier 可以使用,同樣在列出所有 View 的地方,點開第二個分頁,這裡會列出所有你可以使用的 modifier,裡面包含控制、特效、事件等。

要是對要使用哪些 modifier 不是很清楚,點擊右上角的按鈕,會從右邊彈出新的視窗,選擇第五個分頁,然後在點擊你要添加 modifier 的物件,可以看到出現了很多可以調整的欄位。

在這邊勾選調整的屬性欄之後,可以看到程式碼那裡自動加上對應的 modifier,要特別注意的是,要是想在這裡調整物件、新增 modifier 等,必須先顯示預覽畫面出來,不然這個視窗可是不會顯示出來的。

modifier 特性

在知道了怎麼使用 modifier 之後,有些特性需要提前了解一下。

1. 有些 modifier 只會影響這個 View,有些會影響包含在 View 裡面的所有 View。
2. modifier 不會覆蓋已經設定好的 View 的 modifier。
3. 有些 modifier 的值是可以互相疊加的。
4. 有些 modofier 是綁定特定的 View 的。

今天就先來解釋一下第一點。

以下面的圖為例,像是 Image 下面的 .frame(100) 這個 modifier 就是只會影響到 Image 這個 View。

那可以看到,在兩個 Text 下面都有 .font(.largeTitle) 這個 modifier,讓我們來改一下 modifier 的位置。

可以看到,將 .font(.largeTitle) 放到 VStack 下面之後,得到的結果還是一樣的,那是因為 .font(.largeTitle) 這個 modifier 是可以影響到 View 下面的所有 View 的。

那關於 modifier 的特性今天先解釋到這裡,明天來繼續解釋另外兩個特性。


上一篇
Day 2:關於 App、Sence、View
下一篇
Day 4:關於 modifier(2)
系列文
SwiftUI學習之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言